<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Es6继承</title>
	</head>
	<body>
		1、class 可以理解为function,由于class本质还是一个function,因此它也会拥有一个的prototype属性，当new一个class时，会把class的porototype属性赋值给这个新对象的 __proto属性。
		2、constructor 方法是默认添加的方法，在new一个对象时，自动调用该方法，constructor里面定义自己的属性。
		3、继承extends和super，class 子类名 extends 父类名实现继承，当然还得在constructor里面写上super(父类的参数)，意思就是在子类中获得父类的this指针，相当于Parent.call(this)
		<script type="text/javascript">
			class Parent {
				constructor(name, age) {
					this.name = name
					this.age = age
				}

				getUser() {
					return `name is ${this.name} age is ${this.age}`
				}
			}

			class Child extends Parent {
				constructor(name, age, sex) {
					super(name, age) // 调用父类的constructor(name, age)
					this.sex = sex
				}

				getUser() {
					return  `${this.sex} - ${super.getUser()}` // 调用父类的getUser()
				}
			}

			var es6Extend = new Child('bob', '20', 'man') 
			console.log(es6Extend.getUser()) // man - name is bob age is 20
			
		</script>
	</body>
</html>
